//---------------------------------------------------------------------------

#ifndef TElementSerialNumberH
#define TElementSerialNumberH

#include <vcl.h>
#include <vector.h>
#include <msxmldom.hpp>
#include <XMLDoc.hpp>
#include <xmldom.hpp>
#include <XMLIntf.hpp>
//---------------------------------------------------------------------------

enum eElementType {etNon = 0, ProfileElementType, CurveElementType, SwitchElementType,
						 RetarderElementType, CtrRetarderElementType, ArresterElementType,
						 TrackRetarderElementType, CutElementType, WarningMakeElementType,
						 StopPointElementType, WeatherElementType, TrackElementType, CutsElementType,};


class TElementSerialNumber
{
public:
	AnsiString SerialNumber;
	AnsiString Name, Note;
	int Index;

//	int ListID, ElementID;
	TElementSerialNumber & operator = (TElementSerialNumber t);
	bool __fastcall SetElementSerialNumber(const AnsiString UserID, const eElementType ElementType);
};

class TElementSerialNumbers : public vector<AnsiString>
{
public:
	__fastcall TElementSerialNumbers();
	TElementSerialNumbers & operator = (TElementSerialNumbers t);
//	TElementSerialNumbers operator = (TElementSerialNumbers t);
	bool __fastcall InList(const AnsiString SerialNumber);
};

class TSerialNumbersList : public vector<AnsiString>
{

};

#endif
